-
-
Notifications
You must be signed in to change notification settings - Fork 307
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[16.0][FIX] accounting menu not translatable #4298
base: 16.0
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
/ocabot rebase |
Congratulations, PR rebased to 16.0. |
bb16b31
to
a33f203
Compare
This PR has the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Merge?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Grazie della PR!
Come scrissi in #2675 (review):
Secondo me il problema è più generico di
account
vsl10n_it_account
vsaccount_accountant
quindi si potrebbe aprire una issue.
e andrebbe quindi risolto direttamente in Odoo.
Rispetto ad allora però ho trovato dei possibili problemi con questo approccio, vedi il commento qui sotto.
Se vogliamo continuare ad usare dei work-around, si potrebbe usare un approccio più dinamico, tipo
l10n-italy/l10n_it_riba/models/ir_ui_menu.py
Lines 18 to 26 in f3bbdcd
# Move the RiBa menu if any of | |
# its siblings (menu having same parent before write) | |
# is moved (parent changes). | |
# This happens when account_accountant (enterprise) | |
# is installed or uninstalled. | |
root_riba_menu = self.env.ref("l10n_it_riba.menu_riba") | |
parent_riba_menu = root_riba_menu.parent_id | |
if old_parent == parent_riba_menu and new_parent_id != old_parent.id: | |
root_riba_menu.parent_id = new_parent_id |
Please, can anyone merge this? LGTM? |
a33f203
to
79bc62d
Compare
Ho approfondito la questione e ho scoperto che tecnicamente questo problema non è un vero e proprio bug. Questo comporta che quando ad esempio vado a modificare una voce di menù in questo modo, quello che succede è che per assurdo viene modificata la stringa sorgente del modulo
Questo spiega perfettamente il comportamento attuale di Odoo quando viene installato il modulo
Concordo con te che questo approccio apre le porte a diversi potenziali (e reali) problemi.
Un approccio del genere applicato a questo caso porterebbe a mio parere a complicare ancora di più le cose con il forte rischio di effetti collaterali futuri non prevedibili (es. interazioni con metodi per far funzionare correttamente i menù con il modulo Per risolvere alla radice la problematica propongo un nuovo approccio, è un workaround che va a modificare direttamente la stringa tradotta in Cosa ne pensi? |
79bc62d
to
969bb7f
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Per risolvere alla radice la problematica propongo un nuovo approccio, è un workaround che va a modificare direttamente la stringa tradotta in account.
Agli effetti pratici il risultato che si ottiene equivale a quello che fa il sistema con la stringa sorgente.
In questo modo il menù resta quello originale e funziona correttamente con qualsiasi modulo extra che va ad aggiungere sottomenù.Cosa ne pensi?
Molto meglio grazie, e ho anche imparato qualche trucchetto su come funzionano le traduzioni, tipo _get_stored_translations
e update_raw
😉.
Più in generale, dici che è fattibile aggiungere un test?
1a7078f
to
cdb446f
Compare
Adesso non riesco, se possibile sarebbe meglio procedere senza. Si può sempre aggiungere successivamente con un'altra PR. |
cdb446f
to
0f30c33
Compare
0f30c33
to
463f2e4
Compare
C'erano errori nei test indipendenti da questa PR, ho provato a far ripartire i controlli. |
I test falliscono a causa di OCA/account-financial-reporting#1243 (vedi #4461). |
463f2e4
to
d542384
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Test funzionale: OK
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Nel runboat ho provato a mettere Francese e ovviamente mostra la stringa errata.
Penso sarebbe carino in termini community segnalare, non so dove e come, ai cugini transalpini e agli amici iberici questa modifica.
/ocabot rebase |
Congratulations, PR rebased to 16.0. |
d542384
to
4643cbf
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ho fatto qualche prova e ora funziona come dovrebbero fare le traduzioni, grazie!
Ho anche fatto revisione del codice e per me è ok.
Oltre ai commenti qui sotto, rimane solo l'onnipresente
è fattibile aggiungere un test?
Ma secondo me non c'è più nulla di bloccante per il merge.
Sono poi d'accordo con #4298 (review):
sarebbe carino in termini community segnalare, non so dove e come, ai cugini transalpini e agli amici iberici questa modifica.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Le modifiche a questo file si possono rimuovere? Sono solo di formattazione e non servono allo scopo del commit.
Se le vuoi mantenere, sarebbero da spostare in un commit di refactoring.
|
||
translations["it_IT"] = "Contabilità" | ||
self.env.cache.update_raw(menu_finance, field_name, [translations], dirty=True) | ||
self.modified(["name"]) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
self.modified(["name"]) |
Questo serviva quando self
era un menu, giusto? Se è così ora si dovrebbe poter rimuovere.
Risolve #2885 per la v.16.0